package cn.lianyutiantang.utils;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by YN on 2017/10/26.
 * 获取视频的缩略图
 */
public class VideoUtil {
    public static void videosmallfile(String upFilePath,String mediaPicPath){
        //获取图片缩略图
        List<String> cutpic = new ArrayList<String>();
        cutpic.add("J:\\wordToPdfJar\\ffmpeg-20171022-72c3d9a-win64-static\\bin\\ffmpeg.exe");//ffmapeg   .exe文件的路径
        cutpic.add("-i");
        cutpic.add(upFilePath); // 视频路径
        cutpic.add("-y");
        cutpic.add("-f");
        cutpic.add("image2");
        cutpic.add("-ss"); // 添加参数＂-ss＂，该参数指定截取的起始时间
        cutpic.add("16"); // 添加起始时间为第16秒
        cutpic.add("-t"); // 添加参数＂-t＂，该参数指定持续时间
        cutpic.add("0.001"); // 添加持续时间为1毫秒
        cutpic.add("-s"); // 添加参数＂-s＂，该参数指定截取的图片大小
        cutpic.add("150*100"); // 添加截取的图片大小为150*100
        cutpic.add(mediaPicPath); // 添加截取的图片的保存路径

        boolean mark = true;
        ProcessBuilder builder = new ProcessBuilder();
        try {

            builder.command(cutpic);
            builder.redirectErrorStream(true);
            // 如果此属性为 true，则任何由通过此对象的 start() 方法启动的后续子进程生成的错误输出都将与标准输出合并，
            //因此两者均可使用 Process.getInputStream() 方法读取。这使得关联错误消息和相应的输出变得更容易
            builder.start();
        } catch (Exception e) {
            mark = false;
            System.out.println(e);
            e.printStackTrace();
        }
    }

}
